package top.lvkun.user.service;

import top.lvkun.basic.service.IBaseService;
import top.lvkun.basic.utils.AjaxResult;
import top.lvkun.user.domain.User;
import top.lvkun.user.domain.UserAddress;
import top.lvkun.user.domain.dto.UserDto;

import java.util.List;

public interface IUserService extends IBaseService<User>{
    /**
     * 手机号验证
     * @param phone
     * @param type
     * @return
     */
    AjaxResult validatePhone(String phone,String type);

    /**
     * 发送手机短信验证码
     * @param type
     * @param phone
     * @return
     */
    AjaxResult sendMobileCode(String type,String phone);

    /**
     * 提交表单，注册用户信息
     * @param userDto
     * @return
     */
    AjaxResult phoneReg(UserDto userDto);

    /**
     * 前台：用户登录
     * @param userDto
     */
    AjaxResult userLogin(UserDto userDto);

    /**
     * 前台：微信登录
     * @param code
     * @return
     */
    AjaxResult wechatLogin(String code);

    /**
     * 前台: 查询当前登录用户的地址们
     * @param id
     * @return
     */
    List<UserAddress> getUserAddresses(Long id);
}
